package com.yk.neon.lib.util.mybatis.dao;



import com.yk.neon.lib.util.mybatis.entity.Persistable;
import org.apache.ibatis.annotations.Param;

import java.io.Serializable;
import java.util.List;

public interface MybatisBaseMapper<Domain extends Persistable, PK extends Serializable, Example> {

	Domain selectByPrimaryKey(PK id);

	int deleteByPrimaryKey(PK id);

	int deleteByExample(Example example);

	int insert(Domain record);

	int insertSelective(Domain record);

	List<Domain> selectByExample(Example example);

	int countByExample(Example example);

	int updateByExampleSelective(@Param("record") Domain record, @Param("example") Example example);

	int updateByExample(@Param("record") Domain record, @Param("example") Example example);

	int updateByPrimaryKeySelective(Domain record);

	int updateByPrimaryKey(Domain record);

}
